package entity

import "admin-go-api/common/util"

// 用户模型对象
type SysAdmin struct {
	ID          uint       `gorm:"column:id;comment:'主键';primaryKey;NOT NULL" json:"id"`
	PostId      int        `gorm:"column:post_id;comment:'岗位id'" json:"postId"`                                  //岗位id
	DeptId      int        `gorm:"column:dept_id;comment:'部门id'" json:"deptId"`                                  //部门id
	Username    string     `gorm:"column:username;varchar(64);comment:'用户账号';NOT NULL" json:"username"`          //用户账号Username11 密码
	Password    string     `gorm:"column:password;varchar(64);comment:'密码';NOT NULL" json:"password"`            //密码
	Nickname    string     `gorm:"column:nickname;varchar(64);comment:'昵称'" json:"nickname"`                     //昵称
	Status      int        `gorm:"column:status ;default:1;comment:'帐号启用状态,1->启用,2->禁用';NOT NULL" json:"status"` //帐号启用状态:1->启用,2->然gorm:";
	Icon        string     `gorm:"column:icon;varchar(500);comment:'头像'" json:"icon"`
	Email       string     `gorm:"column:email;varchar(64);comment:'邮箱'" json:"email"` //邮箱
	Phone       string     `gorm:"column:phone;varchar(64);comment:'电话'" json:"phone"` // 电话
	Note        string     `gorm:"column:note;varchar(500);comment:'备注'" json:"note"`  //备注
	CreatedTime util.HTime `gorm:"-" json:"created_time"`
}

// 自定义表名
func (SysAdmin) TableName() string {
	return "sys_admin"
}

// 鉴权结构体
type JwtAdmin struct {
	ID       uint   `json:"id"`
	Username string `json:"username"`
	Nickname string `json:"nickname"`
	Icon     string `json:"icon"`
	Email    string `json:"email"`
	Phone    string `json:"phone"`
	Note     string `json:"note"`
}

// 登录
type LoginDto struct {
	Username string `json:"username" validate:"required"`
	Password string `json:"password" validate:"required"`
	Image    string `json:"image" validate:"required,min=4,max=6"`
	IdKey    string `json:"idKey" validate:"required"`
}
